package cn.iocoder.yudao.framework.business.basic.pojo.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * <pre>
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 *  视图对象
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * </pre>
 *
 * @author 山野羡民（1032694760@qq.com）
 * @since 2024/11/29
 */
@Data
public abstract class AbstractVO<PK> implements VO {

    @Schema(description = "唯一编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    private PK id;

    @Override
    public Object getPkey() {
        return getId();
    }

}
